package com.smart.wap.bodys;


import com.smart.manager.pop.entities.enums.ExchangeKind;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data

public class ShopResult implements Serializable {

    @Data
    @Accessors(chain = true)
    public static class Rem {

        @ApiModelProperty("标题")
        private String title;

        @ApiModelProperty("兑换商品代码")
        private String code;

        @ApiModelProperty("最终需要支付")
        private Integer amount;

        @ApiModelProperty("兑换卷类型")
        private ExchangeKind kind;

    }


    /**
     * 食物
     *
     * @author leo
     * @date 2024/01/30
     */
    @Data
    @Accessors(chain = true)
    public static class Profile implements Serializable {

        @ApiModelProperty("食物代码")
        private String code;
        @ApiModelProperty("食物名称")
        private String name;
        @ApiModelProperty("档案图标")
        private String icon;
        @ApiModelProperty("食物介绍")
        private String description;

    }
    @Data
    @Accessors(chain = true)
    public static class Combo implements Serializable {

        @ApiModelProperty("套餐代码")
        private String code;

        @ApiModelProperty("套餐名称")
        private String name;

        @ApiModelProperty("售价金币")
        private Integer price;

        @ApiModelProperty("折扣")
        private BigDecimal discountPrice;

        @ApiModelProperty("最终折扣")
        private transient BigDecimal totalPrice;

        @ApiModelProperty("食物套餐")
        private List<ComboList> comboLists;

        @ApiModelProperty("档案图标")
        private List<String> icons;

        @ApiModelProperty("显示排序")
        private Integer sort;

    }

    @Data
    @Accessors(chain = true)
    public static class ComboList implements Serializable {

        @ApiModelProperty("套餐代码")
        private String code;

        @ApiModelProperty("套餐名称")
        private String name;

        @ApiModelProperty("食物档案详情")
        private List<Profile> meats;

        @ApiModelProperty("最低食用等级")
        private Integer minLevel;

        @ApiModelProperty("最高食用等级")
        private Integer maxLevel;

        @ApiModelProperty("显示排序")
        private Integer sort;

    }
}

